﻿using System;
using System.Numerics;
using System.Threading;

namespace _046_等待线程信号MManualResetEvent
{
    class Program
    {

        static ManualResetEvent 我发哥的线程 = new ManualResetEvent(false);

        static void Main(string[] args)
        {



            Thread 小弟跑起来了 = new Thread(() =>
            {
                int n = 1;
                int result = 0;
                while (n <= 100)
                {
                    //延时模拟
                    Thread.Sleep(20);
                    result += n;
                    n++;
                }
                Console.WriteLine("计算结果：{0}", result);
                我发哥的线程.Set();
                //发送信息号又马上切换为无信号状态
                我发哥的线程.Reset();
            });
            小弟跑起来了.Start();

                Console.WriteLine("正在等待线程计算……");
                我发哥的线程.WaitOne();
                Console.WriteLine("计算完毕！");

                Console.Read();
           

        }

    }
}
